﻿using FluentNHibernate.Mapping;

namespace ControleRepresentante.Logic.Models.Maps
{
    public class RelatorioVisitaMap : SubclassMap<RelatorioVisita>
    {
        public RelatorioVisitaMap()
        {
            Map(x => x.Data)
                .Not.Nullable();
            Map(x => x.Observacao)
                .Not.Nullable();
            References(x => x.Cliente)
                .Not.Nullable()
                .Cascade.None();
            References(x => x.Vendedor)
                .Not.Nullable()
                .Cascade.None();
            HasOne(x => x.RelatorioVisitaJolitex)
                .Cascade.All();
        }
    }

    public class RelatorioVisitaJolitexMap : MapBase<RelatorioVisitaJolitex>
    {
        public RelatorioVisitaJolitexMap()
        {
            Map(x => x.Ocorrencia)
                .CustomType(typeof(RelatorioVisitaJolitexOcorrencia));
            HasOne(x => x.RelatorioVisita);
            Map(x => x.Codigo)
                .Nullable();
            Map(x => x.Sincronizado)
                .Not.Nullable();
        }
    }
}
